﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlexFlow.Model
{
    /// <summary>
    /// 为工作流引擎程序提供执行上下文
    /// </summary>
    public class ApplicationInvokeContext
    {
        /// <summary>
        /// 表示当前活动的前置节点标识符集合
        /// </summary>
        public Guid PreviousActivity { get; set; }
        /// <summary>
        /// 表示当前活动的后续路径集合
        /// </summary>
        public FlowPath[] NextPaths { get; set; }
        /// <summary>
        /// 表示当前活动的操作员列表，如若未绑定任何操作员，该值为null
        /// </summary>
        public Guid[] Operators { get; set; }
        /// <summary>
        /// 表示当前活动定义的设置键值对集合
        /// </summary>
        public KeyValuePair<string, string>[] ActivityOptions { get; set; }
        /// <summary>
        /// 表示当前活动的活动实例
        /// </summary>
        public ActivityInstance CurrentActivityInstance { get; set; }
        /// <summary>
        /// 表示当前活动所在的流程实例
        /// </summary>
        public ProcessInstance CurrentProcessInstance { get; set; }
    }
}
